<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="EsquemaMapeamento" targetNamespace="EsquemaMapeamento.xsd" elementFormDefault="qualified" xmlns="EsquemaMapeamento.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:complexType name="Grupo">
		<xs:sequence>
			<xs:element name="Coluna" type="Coluna" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Grupo" type="Grupo" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
		<xs:attribute name="propriedade" type="xs:string" />
		<xs:attribute name="classe" type="xs:string" />
		<xs:attribute name="nome" type="xs:string" />
	</xs:complexType>
	<xs:complexType name="Coluna">
		<xs:sequence>
		</xs:sequence>
		<xs:attribute name="nome" type="xs:string" />
		<xs:attribute name="enum" type="xs:boolean" />
		<xs:attribute name="propriedade" type="xs:string" />
		<xs:attribute name="chavePrimaria" type="xs:boolean" use="optional" />
		<xs:attribute name="classe" type="xs:string" />
	</xs:complexType>
	<xs:complexType name="Resultado">
		<xs:sequence>
			<xs:element name="Coluna" type="Coluna" minOccurs="0" maxOccurs="unbounded" />
			<xs:element name="Grupo" type="Grupo" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
		<xs:attribute name="tipo">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="RecordSet" />
					<xs:enumeration value="Scalar" />
					<xs:enumeration value="None" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="Parametros">
		<xs:sequence>
			<xs:element name="Parametro" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
					</xs:sequence>
					<xs:attribute name="nome" type="xs:string" />
					<xs:attribute name="nulo" type="xs:boolean" />
					<xs:attribute name="tipo" type="xs:string" />
					<xs:attribute name="enum" type="xs:boolean" />
					<xs:attribute name="propriedade" type="xs:string" />
					<xs:attribute name="tamanho" type="xs:int" use="optional" />
					<xs:attribute name="direcao" type="xs:string" use="optional" />
					<xs:attribute name="identificador" type="xs:boolean" use="optional" />
					<xs:attribute name="classe" type="xs:string" />
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Mapeamento">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Modelo" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Tabela" minOccurs="0" maxOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Campo" minOccurs="1" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
												</xs:sequence>
												<xs:attribute name="propriedade" type="xs:string" />
												<xs:attribute name="tipo" type="xs:string" />
												<xs:attribute name="identificador" type="xs:boolean" />
												<xs:attribute name="autoIncremento" type="xs:boolean" />
												<xs:attribute name="nulo" type="xs:boolean" />
												<xs:attribute name="nome" type="xs:string" />
												<xs:attribute name="tamanho" type="xs:int" />
												<xs:attribute name="chavePrimaria" type="xs:boolean" />
												<xs:attribute name="enum" type="xs:boolean" />
												<xs:attribute name="classe" type="xs:string" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="nome" type="xs:string" />
								</xs:complexType>
							</xs:element>
							<xs:element name="Procedures" minOccurs="0" maxOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Consultar" minOccurs="0" maxOccurs="1">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Parametros" type="Parametros" minOccurs="0" maxOccurs="1" />
													<xs:element name="Resultado" type="Resultado" minOccurs="0" maxOccurs="1" />
												</xs:sequence>
												<xs:attribute name="nome" type="xs:string" />
											</xs:complexType>
										</xs:element>
										<xs:element name="Procedure" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Parametros" type="Parametros" minOccurs="0" maxOccurs="1" />
													<xs:element name="Resultado" type="Resultado" minOccurs="0" maxOccurs="1" />
												</xs:sequence>
												<xs:attribute name="nome" type="xs:string" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="conexao" type="xs:string" use="required" />
						<xs:attribute name="classe" type="xs:string" use="optional" />
						<xs:attribute name="nome" type="xs:string" use="optional" />
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>